The present invention generally relates to remote-control systems. More particularly, embodiments of the present invention relate to a remote-control system configured to operate on a variety of remote control platforms, such as High Definition Multi-Media Interface appliances.
Traditional remote-control devices for controlling appliances have typically been hand-held electronic devices, and have typically been configured to control a variety of appliances including televisions, DVD players, stereo equipment (e.g., CD players, tuners, amplifiers, etc.), personal video recorders (PVRs), set-top-boxes (cable television tuners, satellite dish tuners, etc.), surround sound devices, other remote-control devices (e.g., IR blasters, RF blasters, etc.), media applications on a computer, or other types of processor controlled devices, etc. Some remote-control devices are also configured to control heating systems, cooling systems, lighting, window coverings, and the like.
Modern remote-control devices have progressed from traditional hand-held electronic devices to remote-control systems that may be embedded in appliances, blasters, set-top-boxes, bridges, etc. One or more components of such embedded systems may continue to be hand-held, either in a form factor similar to a traditional remote-control device, or as a software-based controller embedded in hand-held devices, such as smartphones. As is well known by those of skill in the art, the High Definition Multi-Media Interface (HDMI) standard specifies the Consumer Electronic Control (CEC) standard, which provides for connected HDMI appliances (e.g., connected via HDMI cables) to remotely control one another. That is, the CEC standard provides that connected HDMI appliance may each include a remote-control system, which is embedded in an HDMI appliance, where each remote-control system in each connected HDMI appliance may control the other connected HDMI appliances. The CEC standard is an option standard and is not required to be implemented in HDMI appliances. The goal of the CEC standard is to simplify the remote control of HDMI appliances by providing that a single command entered in one HDMI appliance may be proliferated throughout a set of HDMI appliances to place the set of HDMI appliances in a desired state. For example, one of the more commonly expected remote control functions under the CEC standard is “one touch play.” For one touch play, an HDMI DVD player, for example, receiving a play command to play a DVD may issue CEC command codes to an HDMI TV to power on, switch the input to the HDMI DVD player, and format the screen dimensions (e.g., widescreen) for the DVD. The HDMI DVD player may also issue CEC command codes to an HDMI surround sound system to power on and adjust to a given volume level and sound equalization setting. The foregoing described remote-control operation has traditionally required a series of button presses on one or more traditional remote-control devices. The CEC standard provides that these multiple commands may be accomplished with a single button press (e.g., press of the play button on the HDMI DVD player, the press of the play button on a traditional remote-control device configured to control the HDMI DVD player, etc.).
While the CEC standard was designed to simplify remote control operations, the CEC standard introduces a number of complications into remote-control systems embedded in HDMI devices. One complication that the CEC standard introduces is the allowance of custom CEC command codes for HDMI appliances. More specifically, custom CEC command codes may be created for some HDMI appliances where these custom CEC command codes are unrecognized and not understood by other HDMI appliances. Therefore, not all HDMI appliances that are interconnected will be configured to understand the custom CEC command codes of other HDMI appliances. Further, the CEC standard provides limited solutions for correcting and compensating for failed CEC command codes.
Therefore, new remote-control systems, such as new embedded remote-control systems, are needed to provide solutions for known short comings in the CEC standard as well as to provide enhanced functions not specified by the CEC standard.